<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>STLplus Library Collection - License</title>
<link rel="icon" href="plus.png" type="image/png">
<meta name="Author" content="Andy Rushton">
<meta name="Copyright" content="(c) Andy Rushton 2007">
<meta name="License" content="BSD license, see license.html">
<link rel="stylesheet" media="screen" type="text/css" href="screen.css">
</head>

<body>

<div id="header">

<div id="headerBanner">
<p>
The
<span style="color:red">S</span><span style="color:blue">T</span><span style="color:green">L</span><span style="color:#ecec80">+</span>
C++ Library Collection
</p>
</div>

<div id="headerNavigation">
<p>
<a href="http://stlplus.sourceforge.net/">Website</a>
<a href="index.html">Collection</a>
</p>
</div>


</div>

<div id="document">

<div id="documentTitle">
<h1>License Agreement</h1> 

<p style="text-align: center">
<a href="http://www.opensource.org/docs/definition.php"><img src="opensource-110x95-t.png" border="0" width="110" height="95"></a>
<a href="http://www.opensource.org/docs/definition.php"><img src="osi-certified-120x100-t.png" border="0" width="120" height="100"></a>
</p>

</div>

<div id="documentNavigation">

<ul>
<li><a href="#license">License for using the STLplus Library Collection</a></li>
<li><a href="#intent">The Intent of this License</a></li>
<li><a href="#compliance">How to Comply with this License</a></li>
</ul>

</div>

<h2 id="license">License for using the STLplus Library Collection</h2>

<p><b>Copyright (c) Andy Rushton 2007. All rights reserved.</b></p>

<p>Redistribution and use in source and binary forms, with or without modification, are permitted
provided that the following conditions are met:</p>

<ul>

<li>Redistributions of source code must retain the above Copyright notice, this list of conditions
and the following disclaimer.</li>

<li>Redistributions in binary form must reproduce the above Copyright notice, this list of
conditions and the following disclaimer in the documentation and/or other materials provided with
the distribution.</li>

<li>Neither the name of the STLplus library nor the names of its contributors may be used to endorse
or promote products derived from this software without specific prior written permission.</li>

</ul>

<p>This software is provided by the Copyright holders and contributors "as is" and any express or
implied warranties, including, but not limited to, the implied warranties of merchantability and
fitness for a particular purpose are disclaimed. In no event shall the Copyright owner or
contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential
damages (including, but not limited to, procurement of substitute goods or services; loss of use,
data, or profits; or business interruption) however caused and on any theory of liability, whether
in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of
the use of this software, even if advised of the possibility of such damage.</p>


<h2 id="intent">The Intent of this License</h2>

<p>This section explains my intent in having a license agreement for this software.</p>

<p>I have two aims in having a license agreement for the STLplus library. I wish to protect myself
from (1) intellectual property thieves and (2) litiginous idiots.</p>

<p>To achieve the first aim, the STLplus library is copyrighted software. Basically I have utter
contempt for people who steal other people's creative works and either use it unacknowledged or
claim it as their own. So I'm asserting my right to be identified as the author of the original
work. You can use, modify and distribute copies of the library provided that it keeps the copyright
and license statements. This copyright also protects authors of additions, bug-fixes and other
contributions to the library. You can add your own copyright statements for your own contributions
to a modified version of the library.</p>

<p>To achieve the second aim, I have included a disclaimer in the license. Basically software is too
complex to guarantee and the majority of software is therefore provided on a best-endeavours, as-is
policy. Sadly some people, especially those in the legal profession, don't seem to understand this.
So the disclaimer states categorically that you use this software entirely at your own risk. For
example, if your product crashes because of a bug in the STLplus library, it is 100% your fault for
not testing the product fully. If you don't like that, don't use the STLplus library. Or the STL
library, or the C run-time, or any part of the operating system for that matter.</p>

<p>That's it really. I don't subscribe to the idealism of some open-source advocates who claim that
open-source software should only be available to other open-source developers. I want this library
to be used by anyone and everyone, well except intellectual property thieves and litiginous idiots.
There are therefore no restrictions saying you have to make your products open source as well
because I don't believe in that. If you wish to use this library in an open source project, great.
If you wish to use it in a closed-source commercial product, equally great.</p>

<p>I have chosen to use the <a href="http://opensource.org/licenses/bsd-license.php">BSD
license</a> as my template. I like this because it achieves my aims simply and reasonable briefly.
It is easy to understand and contains no traps for the unwary.</p>

<p>I have tried two other licenses before this one. I started with the <a
href="http://opensource.org/licenses/gpl-license.php">Gnu Public License (GPL)</a> but it was far
too restrictive for use with a software library in that it forced all derivative works to be GPLed
as well. This made the STLplus library unavailable for commercial developers. I then switched to the
<a href="http://opensource.org/licenses/lgpl-license.php">Lesser (or Library) Gnu Public License
(LGPL)</a> which is supposedly aimed at libraries. However, a user pointed out that this also forced
derivative works to be LGPLed unless STLplus was provided as a dynamically linked library, and I
know from experience that dynamic linking is painful on many platforms, is a deterrent to library
use so contrary to my aims and furthermore is useless anyway for a C++ library since
template code gets inlined.</p>


<h2 id="compliance">How to Comply with this License</h2>

<p>The above license is all very well, but what does it mean?</p>

<ul>

<li>You can distribute the
STLplus library as source code, in which case the original license and copyright must be kept. That
means the license comments in the source code and this web page must be part of the
distribution.</li>

<li>You can distribute a modified STLplus library as source code, in which case you can claim
authorship of your modifications, but must include the original license and copyright for the
original STLplus software as above.</li>

<li>You can incorporate the STLplus library in an application or other object library by simply
linking it, in which case you should include a credit to the STLplus library in the documentation
and/or a credits dialog in the software itself. It would be appreciated if this credit included the
URL of the STLplus website: http://stlplus.sourceforge.net.</li>

</ul>


</div>

</body>
</html>
